package com.hxm.demo.leetcode;

import java.util.Scanner;

/**
 * @author huangxiaoming
 * @date 2022/5/28
 **/
public class Test6 {
    /**
     * 描述
     * 功能:输入一个正整数，按照从小到大的顺序输出它的所有质因子（重复的也要列举）（如180的质因子为2 2 3 3 5 ）
     * <p>
     * <p>
     * 数据范围： 1 \le n \le 2 \times 10^{9} + 14 \1≤n≤2×10
     * 9
     * +14
     * 输入描述：
     * 输入一个整数
     * <p>
     * 输出描述：
     * 按照从小到大的顺序输出它的所有质数的因子，以空格隔开。
     *
     * @param args
     */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int a = in.nextInt();
            int n = 2;
            int result = a;
            int m = (int) Math.sqrt(a);
            for (int i = 0; i < m; i++) {
                int mod = result % n;
                if (mod == 0) {
                    result = result / n;
                    System.out.print(n + " ");
                } else {
                    n = n + 1;
                }
            }
            if (result > m) {
                System.out.print(result);
            }
        }
    }
}
